package com.molichuxing.services.property;

/**
 * @Author: zhaopenghui
 * @Description: 合同类型
 * @Date: Created in 15:47 2019/9/11
 * @Modified By:
 **/
public enum ContractTypeEnum {

    /**
     * 订阅里程-提车单
     */
    MILEAGE_BAG_CAR_CONTRACT(11, "提车单"),
    /**
     * 订阅里程-还车单
     */
    MILEAGE_BAG_RETURN_CAR(12, "还车单"),
    /**
     * 订阅里程服务合同
     */
    MILEAGE_BAG_CONTRACT(13, "订阅里程服务合同"),

    /**
     * 订阅里程-续订合同
     */
    MILEAGE_BAG_RENEW_CONTRACT(14, "续订合同"),
    /**
     * 订阅里程-加购合同
     */
    MILEAGE_BAG_PURCHASED_CONTRACT(15, "加购合同"),
    /**
     * 订阅里程-验车单
     */
    MILEAGE_BAG_VALIDATE_CONTRACT(16, "验车单"),
    /**
     * 专属里程-通用条款
     */
    COMMON_CONTRACT(21, "通用条款"),
    /**
     * 专属里程-补充协议
     */
    SUPPLEMENT_CONTRACT(22, "补充协议"),
    /**
     * 专属里程-保证合同
     */
    GUARANTEE_CONTRACT(23, "保证合同"),
    /**
     * 专属里程-提车单
     */
    CAR_CONTRACT(24, "提车单"),
    /**
     * 专属里程-专用条款
     */
    DEDICATED_CONTRACT(25, "专用条款"),

    /**
     * 专属里程-还车单
     */
    DEDICATED_RETURN_CAR(26, "还车单"),

    /**
     * 专属里程-解除协议
     */
    RESCISSION_CONTRACT(27, "解除协议"),

    /**
     * 经销商主合同
     */
    PURCHASE_CONTRACT(31, "经销商主合同"),
    /**
     * 经销商补充协议
     */
    PURCHASE_SUPPLEMENT_CONTRACT(32, "经销商补充协议"),
    /**
     * 专属里程-订悦
     */
    EXCLUSIVE_BOOKING_CONTRACT(41, "专属里程-安鹏征信"),
    /**
     * 专属里程-订悦-提车单
     */
    EXCLUSIVE_BOOKING_CAR_CONTRACT(42, "提车单");

    int value;
    String name;

    ContractTypeEnum(int value, String name) {
        this.value = value;
        this.name = name;
    }

    public int getValue() {
        return value;
    }

    public String getName() {
        return name;
    }

    /**
     * 通过value获取枚举的name
     *
     * @param value
     * @return
     */
    public static String getName(int value) {
        ContractTypeEnum enumerate = getEnum(value);
        return enumerate == null ? null : enumerate.getName();
    }

    /**
     * 通过value获取枚举
     *
     * @param value
     * @return
     */
    public static ContractTypeEnum getEnum(int value) {
        for (ContractTypeEnum enumerate : ContractTypeEnum.values()) {
            if (enumerate.getValue() == value) {
                return enumerate;
            }
        }
        return null;
    }
}
